from application import create_app, db, models
from flask_script import Manager
from flask_migrate import Migrate, MigrateCommand

from application.models import User

app = create_app('development')  # 通过不同配置名字,初始化其对应配置的应用实例

manger = Manager(app)

# 将app 与 db 关联
Migrate(app, db)

# 将迁移命令添加到manager中
manger.add_command('db', MigrateCommand)

# 创建管理员
@manger.option("-n", "-name", dest="name")
@manger.option("-p", "-password", dest="password")
def create_super_user(name, password):
    if not all([name, password]):
        print("参数不足")

    user = User()
    user.nick_name = name
    user.mobile = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
    except Exception as e:
        db.session.rollback()
        print(e)
    print("添加成功")

if __name__ == "__main__":

    manger.run()